var main = cc.Class({
  extends: cc.Component,

  properties: () => ({
    // 音效按钮状态
    checkMark: {
      default: null,
      type: cc.Node
    },
    // 背景音乐
    mainBgAudio: {
      default: null,
      type: cc.AudioClip
    },
    // 音效按钮
    soundBtn: {
      default: null,
      type: cc.Button
    },
    soundLabelon: {
      default: null,
      type: cc.Node
    },
    soundLabeloff: {
      default: null,
      type: cc.Node
    },
    // 锦鲤数量
    koiNum: {
      default: null,
      type: cc.Label
    },
    // 帮助页面 
    helpPanel: {
      default: null,
      type: cc.Node
    },
    //获奖信息面板
    prizePanel: {
      default: null,
      type: cc.Node
    },
    //获奖日期文本
    dateLabel: {
      default: null,
      type: cc.Label
    },
    //获奖者文本
    winerLabel: {
      default: null,
      type: cc.Label
    },
  }),
  onLoad: function() {
    var _this = this;
    // 用户微信小游戏授权
    wx.getSetting({
      success(res) {
        if (res.authSetting['scope.userInfo']) {
          console.log('已经授权下一步是wx.getUserInfo');
          wx.getUserInfo({
            success: res => {
              var userInfo = res.userInfo;
              var nickName = userInfo.nickName;
              var signature = res.signature;
              var encryptedData = res.encryptedData;
              var iv = res.iv;
              Globals.playername = nickName.toString();
              console.log('res=>',userInfo);
            }
          });
        } else {
          let button = wx.createUserInfoButton({
            type: 'text',
            text: '获取用户信息',
            style: {
              left: 10,
              top: 300,
              width: 200,
              height: 40,
              lineHeight: 40,
              backgroundColor: '#ff0000',
              color: '#ffffff',
              textAlign: 'center',
              fontSize: 16,
              borderRadius: 4
            }
          })
          button.onTap((res) => {
            var userInfo = res.userInfo;
            var signature = res.signature;
            var encryptedData = res.encryptedData;
            var iv = res.iv;
            console.log(button.style.left,userInfo);
            button.style.left = -210;
          })
        }
      }
    });
    // 云
    wx.cloud.init({
      traceUser: true
    });
    // 云函数 获取 openid或者appid
    wx.cloud.callFunction({
      name: 'Moyu',
      complete: res => {
        var OPENID = res.result.userInfo.openId;
        _this.getData(OPENID);
        console.log('获取用户id111: ', res.result.userInfo, OPENID);
      }
    });

    /**
     * 读取数据
     */
    // const db = wx.cloud.database();
    // db.collection('Moyu').get({
    //     success: function(res) {
    //       // res.data 是一个包含集合中有权限访问的所有记录的数据，不超过 20 条
    //       console.log(res.data)
    //     }
    // })
    // const db = wx.cloud.database();
    // db.collection('Moyu').where({
    //     _id: 'ohCO45WSMFl5I3hhSv4tHCt_sGVg',
    // })
    // .get({
    //     success: function(res) {
    //         // res.data 是一个包含集合中有权限访问的所有记录的数据，不超过 20 条
    //         var getkoiNum = res.data._koi;
    //         _this.koiNum.string = getkoiNum.toString();
    //         console.log("success get", res);
    //     },
    //     fail: function(res) {
    //         _this.addData(OPENID);
    //         console.log("fail get", res);
    //     },
    // })

    /**
     * 增加数据
     */
    // const db = wx.cloud.database();
    // db.collection('Moyu').add({
    //     // data 字段表示需新增的 JSON 数据
    //     data: {
    //         koi: 0,
    //     },
    //     success: function(res) {
    //         // res 是一个对象，其中有 _id 字段标记刚创建的记录的 id
    //         console.log('db对Moyu的 add参数回调',res);
    //     },
    //     fail: function(res) {
    //         // res 是一个对象，其中有 _id 字段标记刚创建的记录的 id
    //         console.log('失败',res);
    //     }
    // })

    /**
     * 更新数据
     */
    // db.collection('Moyu').doc('W_pony_sucks').update({
    //     data: {
    //         xx: db.command.inc(10),
    //     },
    //     success: function(res) {
    //       console.log('db对Moyu的 update参数回调', res);
    //     }
    // })

    // 开启音乐
    this.isOpen = true;
    // 播放音乐
    cc.audioEngine.play(this.mainBgAudio, true);
  },
  // 进入游戏 跳转场景
  startGame: function() {
    cc.audioEngine.stopAll();
    // 加载
    cc.director.loadScene('Game', null, function() {
      cc.loader.onProgress = null;
    });
  },
  // 帮助页面打开
  helpPanelDisplay: function() {
    this.helpPanel.active = true;
  },
  // 帮助页面状态切换
  changHelpDisplay: function() {
    console.log(this.helpPanel.getChildByName('toggleContainer').getChildByName('toggle1').getComponent(cc.Toggle).isChecked, 'toggle1');
    console.log(this.helpPanel.getChildByName('toggleContainer').getChildByName('toggle2').getComponent(cc.Toggle).isChecked, 'toggle2');
    if (this.helpPanel.getChildByName('toggleContainer').getChildByName('toggle1').getComponent(cc.Toggle).isChecked) {
      this.helpPanel.getChildByName('pageview1').active = true;
      this.helpPanel.getChildByName('pageHD').active = false;
    } else {
      this.helpPanel.getChildByName('pageview1').active = false;
      this.helpPanel.getChildByName('pageHD').active = true;
    }
  },
  // 关闭帮助页面
  closeHelpPanel: function() {
    this.helpPanel.active = false;
  },

  // 关闭获奖信息页面
  closePrizePanel: function() {
    this.prizePanel.active = false;
  },
  // 打开获奖信息页
  openwebs: function() {
    this.prizePanel.active = true;
    this.getPrizedate();
  },
  // 音乐开关
  soundPlayStop: function() {
    if (this.isOpen) {
      // 暂停音乐
      cc.audioEngine.pauseAll();
      this.isOpen = false;
      this.soundBtn.getComponent(cc.Toggle).isChecked = false;
      this.soundLabelon.active = false;
      this.soundLabeloff.active = true;
    } else {
      // 播放音乐
      cc.audioEngine.resumeAll();
      this.isOpen = true;
      this.soundBtn.getComponent(cc.Toggle).isChecked = true;
      this.soundLabelon.active = true;
      this.soundLabeloff.active = false;
    }
  },
  // 获取数据是否为空
  getData: function(OPENID) {
    var _this = this;
    console.log("getdata", OPENID);
    const db = wx.cloud.database();
    db.collection('Moyu').where({
        _openid: OPENID,
      })
      .get({
        success: function(res) {
          // res.data 是一个包含集合中有权限访问的所有记录的数据，不超过 20 条
          if (res.data.length == 0) {
            _this.addData();
            _this.koiNum.string = '0';
            _this.helpPanel.active = true;
            console.log("getData_success_get长度为0", res.data);
          } else {
            // var _id = res.data[0]._id;
            // db.collection('Moyu').doc(_id).update({
            //     data: {
            //         clock: db.command.inc(10)
            //     }
            // })
            _this.koiNum.string = res.data[0].koi.toString();
            _this.helpPanel.active = false;
            console.log("getData_success_get长度不为0", res.data);
          }
        },
        fail: function(res) {
          console.log("getData_fail_get", res);
        },
        complete: function(res) {
          console.log("getData_complete_get222", res);
        }
      })
  },
  // 初始化云开发添加数据
  addData: function() {
    // 初始给云数据添加
    const db = wx.cloud.database();
    db.collection('Moyu').add({
      // data 字段表示需新增的 JSON 数据
      data: {
        clock: 0,
        powFire: 0,
        water: 0,
        doubleCoin: 0,
        score: 0,
        koi: 0,
      },
      success: function(res) {
        // res 是一个对象，其中有 _id 字段标记刚创建的记录的 id
        console.log('addData_success_get', res);
      },
      fail: function(res) {
        console.log("addData_fail_add", res);
      },
      complete: function(res) {
        _this.addData();
        console.log("addData_complete_get", res);
      }
    })
  },
  getPrizedate:function () {
    var _this = this;
    // 云
    wx.cloud.init({
      traceUser: true
    });
    const db = wx.cloud.database();
    //.where({_id: "prizedesc",})
    db.collection('output').doc('prizedesc').get({
      success: function(res) {
        console.log("获取详情",res.data)
        _this.dateLabel.string = res.data.prizedatas.toString();
        _this.winerLabel.string = res.data.winers.toString();;
      },
      fail: function(res) {
        console.log("get_fail_get", res);
      }
    })
  }
});
module.exports = main;